|
|
@@ -219,11 +219,13 @@ def get_screen_data(point=None, point_id=None):
|
219
|
219
|
macid__in=macids,
|
220
|
220
|
status=True,
|
221
|
221
|
).values('macid', 'temperature', 'updated_at')
|
222
|
|
- temperature_logs = {log.get('macid'): log.get('temperature') or get_old_temperature(point.point_id, log.get('macid')) for log in logs}
|
223
|
|
- time_logs = {log.get('macid'): tc.local_string(utc_dt=log.get('updated_at'), format='%m-%d %H:%M') for log in logs}
|
|
222
|
+ temperature_logs = {log.get('macid'): log.get('temperature') for log in logs}
|
|
223
|
+ time_logs = {log.get('macid'): log.get('updated_at') for log in logs}
|
224
|
224
|
|
225
|
225
|
ipuis = IsolationPointUserInfo.objects.filter(point_id=point.point_id, status=True).values('pk', 'fields', 'observed_days')
|
226
|
|
- ipuis = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in ipuis}
|
|
226
|
+ # ipuis = {info.get('pk'): {'fields': info.get('fields'), 'observed_days': info.get('observed_days')} for info in ipuis}
|
|
227
|
+ ipuis_fields = {info.get('pk'): info.get('fields') for info in ipuis}
|
|
228
|
+ ipuis_observed_days = {info.get('pk'): info.get('observed_days') for info in ipuis}
|
227
|
229
|
|
228
|
230
|
total_active_eqpt_num = eqpts.count()
|
229
|
231
|
has_upload_temperature_num = len(temperature_logs)
|
|
|
@@ -232,8 +234,8 @@ def get_screen_data(point=None, point_id=None):
|
232
|
234
|
eqpts = [{**eqpt.screen_data, **{
|
233
|
235
|
'has_upload': eqpt.macid in temperature_logs,
|
234
|
236
|
'temperature': temperature_logs.get(eqpt.macid, 0),
|
235
|
|
- 'observed_days': ipuis.get(eqpt.ipui_pk, {}).get('observed_days', 0),
|
236
|
|
- }, **{field.get('key', ''): field.get('value', '') for field in ipuis.get(eqpt.ipui_pk, {}).get('fields', {})}} for eqpt in eqpts]
|
|
237
|
+ 'observed_days': ipuis_observed_days.get(eqpt.ipui_pk, 0),
|
|
238
|
+ }, **{field.get('key', ''): field.get('value', '') for field in ipuis_fields.get(eqpt.ipui_pk, {})}} for eqpt in eqpts]
|
237
|
239
|
reminds = [{
|
238
|
240
|
'name': eqpt.get('name'),
|
239
|
241
|
'room': eqpt.get('room'),
|
|
|
@@ -256,7 +258,7 @@ def get_screen_data(point=None, point_id=None):
|
256
|
258
|
'phone': eqpt.get('phone', ''),
|
257
|
259
|
'sex': eqpt.get('sex', ''),
|
258
|
260
|
'age': eqpt.get('age', ''),
|
259
|
|
- 'temperature': eqpt.get('temperature', ''),
|
|
261
|
+ 'temperature': eqpt.get('temperature', '') or get_old_temperature(eqpt.get('point_id', ''), eqpt.get('macid', '')),
|
260
|
262
|
'status': '已上报' if eqpt.get('temperature') else '未上报',
|
261
|
263
|
'last_report_time': time_logs.get(eqpt.get('macid', ''), '') if eqpt.get('temperature') else eqpt.get('last_submit_at', ''),
|
262
|
264
|
'observed_days': eqpt.get('observed_days', 0),
|